Docker Swarm
we most create 3 server
--->master node -1 name of the server (Docker-Master)
--->worker-node server -2 fist server name (Docker-Worker1)
second server name (Docker-Worker-2)
login the Master node Server (Docker-Master)
---->install all the server docker
--->lsb_release -a
--->sudo docker
--->sudo docker init --advertise -addr 192.168.2.11 (This command is used to to install swarm in our
docker host machine swarm install main server only.)
Next go to the worker node 1
copy the command and past the worker node 1
Login the worker node -1
copy the command form master node to past theworker node -1use the sudo
Login the worker node -2
copy the command from master node and past the command worker node -2 use before sudo
Go to the master node
--->sudo docker node ls
--->sudo docker info
---->sudo docker node --help
--->sudo docker node update --help
--->sudo docker service ls
---->sudo docker service --help
--->sudo docker service create --replicas 2 -p 80:80 --name web1 httpd (This command is used to create
the Service replicas2 menition 2 docker host create the docker Service Master node and worker
node -1 )
--->sudo docker service ls
--->sudo docker service ps web1
--->sudo docker service create --mode global -p 81:80 --name testweb httpd(This command is used
to create any service inastall all of the node will be created the docker node service swarm master
node and joing node all of the conected node will be created docker service )
-->sudo docker service ls
-->sudo docker service ps testweb
--->sudo docker network ls
---->sudo docker network create -d overlay newoverlay
---.>sudo docker network ls
How to scale up and down the docker service
--->sudo docker service ls
-->sudo docker scale web1 =5
--->sudo docker ps web1
--->sudo docker service web1=1
--->sudo docker ps web1
---->sudo docker pull learnitguide busapp:latest
--->sudo docker images
---> sudo docker inspect 5274b804d827
--->sudo docker rservice ls
--->sudo docker service rm testweb web1
--->sudo docker service ls
--->sudo docker create --replicas=2 -p 8001:8001 --name busapp learnitguide /busapp:2.1
--->sudo docker service ls
Then check the service is running use the following steps go to the browser and enter the ip and port
number
192.168.2.13:8001--->This ip is a docker worker node -1
---->sudo docker service update --image learnitguide/busapp:2.5 busapp
--->sudo docker service ls
--->sudo socker service ps busapp
--->sudo docker service --help
---->sudo docker service rollback busapp
---->sudo docker service ls
---->sudo docker service ps busapp
-->sudo docker node ls
--->sudo docker node --help
--->sudo docker promote docker-worker2
--->sudo docker promote docker-worker1
--->sudo docker node demote docker-worker1
--->sudo docker node ls
Availability
Docker Swarm and Availability
The --availability flag is indeed related to Docker Swarm mode, which is an orchestrator for managing
multi-container applications across a cluster of machines. In Docker Swarm, each node in the cluster can
be assigned a specific availability status:
Active: The node is available to run tasks.
Pause: The node is still part of the Swarm but is not running any new tasks.
Drain: The node will not receive new tasks, and running tasks will be migrated away from the node.
--->sudo docker node update --help
--->sudo docker node ls
--->sudo docker service ps busapp
--->sudo docker node update --avilability drain docker-worker2
--->sudo docker service ps busapp
--->sudo docker node ls
--->sudo docker node update --availability pause docker-worker1
--->sudo docker node update --availability pause docker-master
--->sudo docker node update --availability drain docker-master
--->sudo docker node update --availability active docker-worker2
--->sudo docker service ps busapp